package com.itheima.dao.system;

import com.itheima.domain.system.Role;
import com.itheima.domain.system.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户表持久层
 */
public interface UserDao {

    //查询所有用户
    List<User> findAll(String companyId);

    //根据id查询用户
    User findById(String id);

    //保存用户
    void save(User user);

    //更改用户
    void update(User user);

    //删除用户
    void delete(String id);

    //根据邮箱查询用户
    User findByEmail(String email);

    //查询用户所拥有的角色
    List<String> findUserRole(String userId);

    //删除用户所具备的角色
    void deleteUserRole(String userId);

    //保存用户所选中的所有角色
    void saveUserRole(@Param("userId") String userId,@Param("roleId") String roleId);
}
